/*
 * Biblioteca com funções utilitárias. 
*/

// Validador de CNPJ

function isCaractere(evento){
    if(evento.keyCode >= 65 && evento.keyCode <= 90){
        return true;
    }
    return false;
}

function naoContemDigitosESinais(ctrl){
    var match = /^[a-zA-Z]+$/;
    var resultado = !match.test($('#' + ctrl).val());
    return resultado;
}

function validarCnpj( c ) {

    var numeros, digitos, soma, i, resultado, pos, tamanho, digitos_iguais, cnpj = c.value.replace(/\D+/g, '');
    digitos_iguais = 1;
    if (cnpj.length != 14) 
    {
        alert('CNPJ inválido');
        c.focus();
        return false;
    }

    for (i = 0; i < cnpj.length - 1; i++)
        if (cnpj.charAt(i) != cnpj.charAt(i + 1))
        {
            digitos_iguais = 0;
            break;
        }
    if (!digitos_iguais)
    {
        tamanho = cnpj.length - 2
        numeros = cnpj.substring(0,tamanho);
        digitos = cnpj.substring(tamanho);
        soma = 0;
        pos = tamanho - 7;
        for (i = tamanho; i >= 1; i--)
        {
            soma += numeros.charAt(tamanho - i) * pos--;
            if (pos < 2)
                pos = 9;
        }
        resultado = soma % 11 < 2 ? 0 : 11 - soma % 11;
        if (resultado != digitos.charAt(0))
        {
            alert('CNPJ inválido');
            c.focus();
            return false;
        }

        tamanho = tamanho + 1;
        numeros = cnpj.substring(0,tamanho);
        soma = 0;
        pos = tamanho - 7;
        for (i = tamanho; i >= 1; i--)
        {
            soma += numeros.charAt(tamanho - i) * pos--;
            if (pos < 2)
                pos = 9;
        }
        resultado = soma % 11 < 2 ? 0 : 11 - soma % 11;
        if (resultado != digitos.charAt(1)){
            alert('CNPJ inválido');
            c.focus();
            return false;
        }
        else {
            // alert('CNPJ  OK !');
            return true;
        }
    }
    else{
        alert('CNPJ inválido');
        c.focus();
        return false;
    }
} 
     
function validarEmail(email)
{
    er = /^[a-zA-Z0-9][a-zA-Z0-9\._-]+@([a-zA-Z0-9\._-]+\.)[a-zA-Z-0-9]{2}/;
          
    if(er.exec(email))
    {
        return true;
    } else {
        return false;
    }
}
        
function validarData(data)
{
    if(data.length == 10)
    {
        er = /(0[0-9]|[12][0-9]|3[01])[-\.\/](0[0-9]|1[012])[-\.\/][0-9]{4}/; 
          
        if(er.exec(data))
        {
            return true;
        } else {
            return false;
        }
                
    } else {
        return false;
    }               
}

function validarHora(hora)
{
    er = /(0[0-9]|1[0-9]|2[0123]):[0-5][0-9]/;
          
    if(er.exec(hora))
    {
        return true;
    } else {
        return false;
    }
}  